ÉÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍ» º C Easy, for Easy C Programming º º º ÇÄÄÄÄÄÄÄÄÄÄ SHAREWARE ÄÄÄÄÄÄÄÄÄÄĶ º º º Author: Richard C. Call º º CompuServe: 74473,1304 º º America Online: ceasy º º Phone (407) 862-4921 º ÈÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍÍͼ EASY C PROGRAMMING ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ As its name suggests, C Easy is an easy way to develop application programs using the C programming language. It is simple, direct and gets the job done without a lot of fanfare. It needs only DOS to run, doesn't make big demands on memory, and requires only a standard C compiler. Yet C Easy produces results that need no apology even when compared to those obtained by message-driven programming methods like Windows. Not a code generator or 4GL with C hooks, C Easy does not take control away from the programmer. It simply makes life a lot easier by offering an uncomplicated development environment consisting of 'program object' building utilities and a library of powerful functions for using those objects in a C program. An example of a C Easy object is the self-executing data entry form. The programmer, or anyone for that matter, can create a form by using the powerful C Easy forms building utility, Make a Form. Intelligence can be added to the form through programmer written user-field-edit routines and the form can be executed by the enter_form() function. C Easy enables new programmers to apply the C language and produce useful results even before they fully understand C language syntax, pointer manipulation, and various data types. A working knowledge of the language gradually grows as it is being used. MADE FOR DATA ENTRY ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Simplicity may be a sufficient reason for the novice to use C Easy but the experienced C programmer needs more justification, like improved application performance. C Easy's performance advantage becomes evident in applications that involve substantial data entry. While C Easy offers graphics capability, it doesn't pretend to compete in the GUI arena with Windows programming. It does compete, however, when it comes to business applications that demand fast, repetitive data entry. These typically include point-of-sale, invoicing, order entry, payables, receivables, payroll, inventory control, medical records processing, and high volume list maintenance. Message-driven Windows programming, using dialog boxes and cursor planting, is great for menu processing, option selection, and limited data entry. But when data entry speed is important, and repetitive, high volume operator input is involved, C Easy is a better choice. It is not important to data entry personnel how their application was developed, just as long as it provides a fast and efficient mechanism for entering data. C EASY UTILITIES ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ C Easy utilities that can be called from either the Development Menu or the DOS command line include the following: Make a Form mfm.exe View a Form (or overlay) vfm.exe Test a Form tfm.exe Make a (graphics) Overlay mgr.exe Edit a File rxx.exe C Easy utilities that can be called only from the Development Menu include file combining/conversion, screen palette editing, palette file maintenance, mouse sensitivity control, compile invocation, and DOS command execution. The C Easy Development Menu and utilities along with many supporting files, including several C Easy sample programs in source form, are all contained in a file named 'ceasy.zip'. This file should be unzipped in the c:\ceasy directory by executing 'pkunzip ceasy' while in that directory. ceasy.zip also includes the ceasy.ico and ceasy.pif files, which allow C Easy to run under Windows. These files should be copied to c:\windows. C EASY SAMPLES ÄÄÄÄÄÄÄÄÄÄÄÄÄÄ C Easy sample programs included in ceasy.zip include sample1.c thru sampleg.c. The executables for these examples are not included, so you must compile them. Each sample program illustrates some facet of C Easy programming. By perusing, compiling and executing these examples in sequence, you will gradually learn how C Easy functions can be used to accomplish various operations involving pull-down menus, window browsing, forms processing, mouse programming, graphics, etc.. C EASY LIBRARIES ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ There are two C Easy libraries: ceasyb.lib - for Borland C/C++ compilers. (download ceasyb.zip) ceasym.lib - for Microsoft C/C++ compilers. (download ceasym.zip) COMPILER INDEPENDENCE ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Programs developed using C Easy library functions run indentically when compiled using Turbo C/C++, Borland C/C++, Microsoft C600 C/C++, or Microsoft C700 C/C++ compilers. C Easy does not require compiler supplied header files and depends only on the standard functions found in standard, conventional C libraries. To use other libraries or functions that require their own header files, you simply comment out a section of the C Easy header file (ceasy1.h). C Easy's independence of compiler supplied libraries and headers becomes obvious when using Turbo C/C++. C Easy requires only eleven (11) of the hundred or so files that comes with that compiler. C Easy text and graphics screen functions were written using VGA hardware register programming and C Easy mouse functions use BIOS. All C Easy functions are original and developed from scratch. Any similarity to any other C function library, including Borland and Microsoft, is coincidental. FEATURES ÄÄÄÄÄÄÄÄ  Two button mouse control; right button is the HELP key.  Create customized screen palettes for each application.  Execute browse windows; scroll and edit data.  Display multiple overlapped windows; easy to control.  Execute pull-down menus and scroll selection bars.  Execute check lists.  Easy mouse programming.  Create/execute intelligent SELF-EXECUTING data entry forms.  Automatic forms control and user field editing.  Event-driven functions invoked by any function key.  Both pre and post user field editing.  Context-sensitive pop up help messages for every field.  Dynamic access to all field attributes, even during data entry.  Create/load graphic overlays; combine graphic files.  Drawing and painting utilities; create graphic tokens.  Edit text files, even fixed-length record files.  Forms easily interfaced to any database; Btrieve, etc..  Doesn't require compiler header include files.  Allows the programmer to maintain control.  Does NOT generate C procedure code.  Generates data entry form structures as include files. BACKGROUND ÄÄÄÄÄÄÄÄÄÄ Taking more than two years to develop, C Easy is the result of my extensive experience in creating operating systems, program language interpreters, compilers, and minicomputer-based business systems. My computer career began when assembly language was state-of-the-art; when Cobol and its precursor, Commercial Translator (CT), weren't even imagined; before RPG or its first incarnation, FARGO; and during the era when IBM's vacuum tube behemoth called SAGE was the Pentium, PowerPC and Alpha of its day. My bias toward software simplicity probably has its roots in programming the SAGE computer. It involved writing complicated 'marginal-checking' programs that applied excursion voltages to thousands of vacuum tubes, just to keep the system running. SAGE performed real-time data acquisition of weather, early warning radar, missile, and aircraft logistics. The system was primitive by todays standards, but yet very complex. That complexity may have been my impetus in keeping software development simple. What about C++, which certainly doesn't claim simplicity? I consider it to be a reasonable programming methodology for groups of programmers working on common applications that share modules of self-contained code. Along with SmallTalk, C++ is an excellent realization of the OOPS (Object Oriented Programming System) concept. C++ is also a far better alternative than the much ballyhooed CASE (Computer Aided Software Engineering) technology systems that tout 'structured this' and 'structured that'. C++ is here to stay, but I don't think it is a programming panacea that justifies abandoning 'plain old C'. It may not be fashionable to say it (yet), but I just don't see the emperor's clothes. Okay, I'll get off my soapbox! DOWNLOAD C EASY ÄÄÄÄÄÄÄÄÄÄÄÄÄÄÄ Download C Easy (ceasy.zip) and try it out. When you are ready to compile the C Easy sample programs, or your own programs, download either ceasyb.zip (if you have a Borland compiler) or ceasym.zip (if you have a Microsoft compiler). You might also download C Easy sample programs called 'C Easy Phonebook' and 'C Easy Buttons Menu'.